package cn.itcast.nems.enrol.web.vo;

import cn.itcast.nems.enrol.dto.EnrolDiscountDTO;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

@Data
@NoArgsConstructor
@ToString
public class EnrolOrderVO {
    /**
     * 班级ID
     */
    private Integer classId ;
    /**
     * 订单号
     */
    @JsonProperty("order_no")
    private String orderNo;
    /**
     * 客户信息
     */
    private EnrolCustomerVO customer ;
    /**
     * 订单行
     */
    @JsonProperty("order_line_list")
    private List<EnrolOrderLineVO> orderLineList ;
    /**
     * 支付方式 code
     */
    private String paymentTypeCode;
    /**
     * 学费ID
     */
    private Integer tuitionFeeId ;

    /**
     * 优惠列表 针对订单头 , 目前短信采用的测试是维护到订单行
     */
    @JsonProperty("discount_list")
    private List<EnrolDiscountDTO> discountList;
    /**
     * 个人专属优惠集合
     */
    @JsonProperty("personal_discount_list")
    private List<EnrolDiscountDTO> personalDiscountList;
    /**
     * 订单头支付状态
     * */
    private String state ;
    /**
     * 是否插班
     */
    @JsonProperty("is_join_class")
    private Boolean isJoinClass;
    /**
     * 插班日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate theFreshDate;
    /**
     * 对应就业班学费
     */
    @JsonProperty("job_fee")
    private BigDecimal jobFee;
    /**
     * 授课模式
     */
    @JsonProperty("job_teaching_model")
    private String jobTeachingModel;
    /** 支付链接 */
    private String payUrl ;
}
